package com.gitee.generator.universal.common;

import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;

import java.io.File;

/**
 * MethodUtil
 * @since 2020-08-19 11:24
 * @author wsx
 */
public class MethodUtil {
    /** 字符串替换 a.b->a/b */
    public String toDir(String str){
        return CharSequenceUtil.isBlank(str)?"":str.replace(Constants.POINT, File.separator);
    }
    /** 字符串替换 a/b->a.b */
    public String toPackage(String str){
        return CharSequenceUtil.isBlank(str)?"":str.replace(File.separator, Constants.POINT).replace(StrUtil.SLASH, Constants.POINT);
    }
    /** 给字符串加前后缀 */
    public String addFix(String prefix,String str,String suffix){
        return CharSequenceUtil.isNotBlank(str)? CharSequenceUtil.blankToDefault(prefix,"") + str + CharSequenceUtil.blankToDefault(suffix,""):"";
    }
    /** 字符串加前缀 */
    public String prefix(String prefix,String str){
        return addFix(prefix,str,"");
    }
    /** 字符串加后缀 */
    public String suffix(String str,String suffix){
        return addFix("",str,suffix);
    }
    /** 字符串前加 . */
    public String prefixPoint(String str){
        return prefix(Constants.POINT,str);
    }
    /** 字符串后加 . */
    public String suffixPoint(String str){
        return suffix(str,Constants.POINT);
    }
    /** 字符串前加 / */
    public String prefixDir(String str){
        return prefix(File.separator,toDir(str));
    }
    /** 字符串后加 / */
    public String suffixDir(String str){
        return suffix(toDir(str),File.separator);
    }
    /** 字符串转json */
    public String toJson(Object o){
        return JSON.toJSONString(o);
    }
}
